package com.zhangtai.modules.dto;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 奖罚包表
 */
@Data
public class AwardPackageDto implements Serializable {
	private static final long serialVersionUID = 1L;

			/**
		 * 
		 */
				@TableId
		@JsonDeserialize(using = LongJsonDeserializer.class)
		@JsonSerialize(using = LongJsonSerializer.class)
			private Long id;
			/**
		 * 流水号
		 */
			private String serialNum;
			/**
		 * 申请日期
		 */
			private Date applyTime;
			/**
		 * 申请人姓名
		 */
			private String applicantName;
			/**
		 * 申请人公司id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long orgId;

	/**
	 * * 公司
	 */
	@ApiModelProperty(value="公司",required = false)
	private String orgname;

			/**
		 * 申请人部门id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long unitId;
	/**
	 * 部门
	 */
	@ApiModelProperty(value="部门",required = false)
	private String unitname;
			/**
		 * 申请人职位id
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long jobId;
	/**
	 * 岗位
	 */
	@ApiModelProperty(value="岗位",required = false)
	private String jobname;
			/**
		 * 奖罚包名称
		 */
			private String awardName;
			/**
		 * 奖罚种类
		 */
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long type;
			/**
		 * 奖罚总金额
		 */
			private BigDecimal totalAmount;
			/**
		 * 奖罚说明
		 */
			private String remark;
			/**
		 * 审批状态  0 待发起 1 审批中  2已审批
		 */
			private Integer status;
			/**
		 * 分配状态  0未分配  1 分配中  2已分配
		 */
			private Integer distributionStatus;
			/**
		 * 创建时间
		 */
			private Date createTime;
			/**
		 * 创建人
		 */
			private String createName;
			/**
		 * 创建人 code
		 */
			private String createCode;
			/**
		 * 附件地址
		 */
			private String fileUrl;
			/**
		 * bpm地址
		 */
			private String bpmUrl;
	
}
